home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
326-350
/
disk_339
/
pcq
/
include
/
graphics.i
< prev
next >
Wrap
Text File
|
1992-05-06
|
6KB
|
246 lines
{
Graphics.i
This is the include file needed to use graphics routines
from PCQ Pascal. Before you use any of these routines, be
sure to open the Graphics library and get a valid library pointer into
GfxBase.
}
{$I "Include/Ports.i" solely for the Message structure in TextFont }
const
JAM1 = 0;
JAM2 = 1;
COMPLEMENT = 2;
INVERSEVID = 4;
type
Rectangle = record
MinX,MinY,
MaxX,MaxY : Short;
end;
RectanglePtr = ^Rectangle;
RegionRectangle = record
Next,
Prev : ^RegionRectangle;
Bounds : Rectangle;
end;
RegionRecPtr = ^RegionRectangle;
Region = record
Bounds : Rectangle;
RegionRec : RegionRecPtr;
end;
RegionPtr = ^Region;
TmpRas = record
rasPtr : Address;
size : Integer;
end;
TmpRasPtr = ^TmpRas;
PlanePtr = Address;
BitMap = record
BytesPerRow : Short;
Rows : Short;
Flags : Byte;
Depth : Byte;
Pad : Short;
Planes : array [0..7] of PlanePtr;
end;
BitMapPtr = ^BitMap;
RastPort = record
layer : Address;
bitMap : BitMapPtr;
AreaPtrn : ^Short;
tmpRas : TmpRasPtr;
areaInfo : Address;
gelsInfo : Address;
Mask : Byte;
FgPen : Byte;
BgPen : Byte;
AOlPen : Byte;
DrawMode : Byte;
AreaPtSz : Byte;
linpatcnt: Byte;
Flags : Short;
LinePtrn : Short;
cpx : Short;
cpy : Short;
minterms : Array [0..7] of Byte;
PenWidth : Short;
PenHeight: Short;
Font : Address;
AlgoStyle: Byte;
TxFlags : Byte;
TxHeight : Short;
TxWidth : Short;
TxBaseline : Short;
TxSpacing : Short;
RPUser : Integer;
wordreserved : array [0..6] of Short;
longreserved : array [0..1] of Integer;
reserved : array [0..7] of Byte;
end;
RastPortPtr = ^RastPort;
var
GfxBase : Address;
Procedure AddAnimOb(anOb, anKey : Address; rp : RastPortPtr);
External;
Procedure AddBob(bobp : Address; rp : RastPortPtr);
External;
Procedure AddVSprite(vs : Address; rp : RastPortPtr);
External;
Function AllocRaster(w, h : Integer): PlanePtr;
External;
Procedure AndRectRegion(reg : RegionPtr; rec : RectanglePtr);
External;
Function AndRegionRegion(reg1, reg2 : RegionPtr) : Boolean;
External;
Procedure Animate(anKey : Address; rp : RastPortPtr);
External;
Function AreaCircle(rp : RastPortPtr; cx, cy, radius : Short) : Integer;
External;
Function AreaDraw(r : RastPortPtr; x, y : Integer): Integer;
External;
Function AreaEllipse(rp : RastPortPtr; cx, cy, a, b : Short) : Integer;
External;
Function AreaEnd(r : RastPortPtr) : Integer;
External;
Function AreaMove(r : RastPortPtr; x, y : Integer): Integer;
External;
Function AttemptLockLayerRom(ly : Address) : Boolean;
External;
Function BltBitMap(Src : BitMapPtr; SrcX, SrcY : Short;
Dest: BitMapPtr; DstX, DstY : Short;
SizeX, SizeY : Short; MinTerm : Byte;
Mask : Byte; TempA : Address) : Integer;
External;
Procedure BltBitMapRastPort(srcbm : BitMapPtr; SrcX, SrcY : Short;
destrp : RastPortPtr; DestX, DestY : Short;
SizeX, SizeY : Short; Minterm : Byte);
External;
Procedure BltClear(m : Address; c : Integer; f : Integer);
External;
Procedure BltMaskBitMapRastPort(srcbm : BitMapPtr; SrcX, SrcY : Short;
destrp : RastPortPtr; DestX, DestY : Short;
SizeX, SizeY : Short; minterm : Byte;
bltmask : Address);
External;
Procedure BltPattern(rp : RastPortPtr; Mask : Address; xl, yl : Short;
maxx, maxy, bytecount : Short);
External;
Procedure BltTemplate(SrcTemplate : Address; SrcX, SrcMod : Short;
rp : RastPortPtr; DstX, DstY, SizeX, SizeY : Short);
External;
Procedure ChangeSprite(vp : Address; s : Address; newdata : Address);
External;
Function ClearRectRegion(reg : RegionPtr; rec : RectanglePtr) : Boolean;
External;
Procedure ClearRegion(reg : RegionPtr);
External;
Procedure ClipBlit(Src : RastPortPtr; SrcX, SrcY : Short;
Dest : RastPortPtr; DestX, DestY : Short;
XSize, YSize : Short; Minterm : Byte);
External;
Procedure CopySBitMap(lyr : Address);
External;
Procedure DisownBlitter;
External;
Procedure Draw(r : RastPortPtr; x, y : Integer);
External;
Procedure DrawCircle(rp : RastPortPtr; x, y, r : Short);
External;
Procedure DrawEllipse(rp : RastPortPtr; x, y, a, b : Short);
External;
Procedure Flood(r : RastPortPtr; f, x, y : Integer);
External;
Procedure FreeRaster(p : PlanePtr; w, h : Integer);
External;
Procedure InitBitMap(b : BitMapPtr; d, w, h : Integer);
External;
Procedure InitRastPort(r : RastPortPtr);
External;
Procedure Move(r : RastPortPtr; x, y : Integer);
External;
Procedure OwnBlitter;
External;
Procedure PolyDraw(r : RastPortPtr; c : Integer; a : Address);
External;
Function ReadPixel(r : RastPortPtr; x, y : Integer): Integer;
External;
Procedure RectFill(r : RastPortPtr; xn, yn, xx, yx : Integer);
External;
Procedure ScrollRaster(r : RastPortPtr; dx, dy, xn, yn, xx, yx : Integer);
External;
Procedure ScrollVPort(vp : Address);
External;
Procedure SetAPen(r : RastPortPtr; p : Integer);
External;
Procedure SetBPen(r : RastPortPtr; p : Integer);
External;
Procedure SetDrMd(r : RastPortPtr; m : Integer);
External;
Procedure SetRast(r : RastPortPtr; p : Integer);
External;
Procedure SetRGB4(p : Address; n, r, g, b : Integer);
External;
Function VBeamPos() : Integer;
External;
Procedure WaitTOF;
External;
Procedure WritePixel(r : RastPortPtr; x, y : Integer);
External;